package engine.scene.tree;

import java.util.ArrayList;

import engine.gameObject.GameObject;
import engine.scene.Frustum;

public abstract class Node{

	private double[] min;
	private double[] max;
	
	private double size;
	
	private Frustum frustum;
	
	public Node(Frustum frustum, double[] min, double[] max) {
		this.frustum = frustum;
		this.min = min;
		this.max = max;
		
		size = max[0] - min[0];
	}
	
	public abstract void insert(GameObject staticObject);
	
	public abstract void render(float timeElapsed);
	
	public abstract void getNearObjects(ArrayList<GameObject> objects, GameObject g);
	
	public abstract void reset();
	
	public double[] getMin() {
		return min;
	}
	
	public double[] getMax() {
		return max;
	}
	
	public double getSize() {
		return size;
	}
	
	public Frustum getFrustum() {
		return frustum;
	}
}
